from keywords.web_keys import Web
from tools.class_excel import Reader, Writer

def run(obj, line):
    """判断是否为分组信息, 列表中第一个和第二个单元格有数据时, 跳过不执行"""
    if len(line[0]) > 1 or len(line[1]) > 1:
        return
    try:
        func = getattr(obj, line[3])
    except Exception as e:
        print("关键字%s不存在" % str(line[3]))
        return
    params = line[4:]  # 对列表中的参数数据进行切片
    params = params[0:params.index('')]  # 切片获取不为空的数据
    func(*params)  # 执行反射获取的函数   并传入切好的参数数据

# 初始化读取excel类对象
reader = Reader()
writer = Writer()
# 初始化关键字对象
web = Web(writer)

# 打开指定的excel文件
web.open_excel('宿舍管理')
# 读取excel中的数据  二维列表
lines = web.get_lines()
# 通过下标遍历每行数据
for sheet, line in lines.items():
    print(sheet)
    writer.set_sheet(sheet)
    for r in range(len(line)):
        web.r = r
        run(web, line[r])
    # 写入数据并保存
    writer.save_close()







